package com.qf.api.blog.dto;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

import java.util.List;

/**
 * @Author: sin
 * @Date: 2025/5/23 22:14
 * @Description: 添加/修改 文章 DTO
 **/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ArticleDTO {
    // 文章标题
    @NotBlank
    @Length(min = 1, max = 40, message = "文章标题字数需大于 1 小于 40")
    private String title;
    // 作者
    private String author;
    // 文章内容
    private String content;
    // 文章摘要
    private String summary;
    // 文章封面
    @NotBlank(message = "文章封面不能为空")
    private String cover;
    // 文章分类ID
    @NotNull(message = "文章分类不能为空")
    private Long categoryId;
    // 文章标签ID集合
    @NotEmpty(message = "文章标签不能为空")
    private List<String> tags;
    // 文章置顶
    @NotNull(message = "文章置顶不能为空")
    private Integer isTop;
    // 文章状态
    @NotNull(message = "文章状态不能为空")
    private Integer status;
}
